一款快速构建de bruijin图的软件
de bruijin图在生物信息学当中是一个非常重要的概念,相信大家都耳熟能详,但是怎么构建,怎么用,今天跟着小编来了解一下吧。
前言
de Bruijin图在生物信息中应用中有着很长的历史,例如可以用于基因组的组装。在sanger测序的时候,组装大多利用OLC算法,而到了二代测序的时候,基于de bruijin的组装算法出现了很多。现在,de-bruijin在很多方面都有应用,例如:
denovo 组装
变异检测
序列压缩
序列矫正
序列比对等
然而,de bruijin的应用有两个方面的限制:
在构建de bruijin图的时候,计算资源和内存的使用都需要很多
构建de bruijin的时候,需要非常好的代码来构建和操作de brujin graph。
在这里,我们给大家介绍一款叫Bifrost的软件,可以用来构建、索引和查询de bruijin图。
安装
最简单的方法就是用conda了。
1conda -c bioconda bifrost
参数说明
输入软件路径后,会得到命令行的
介绍一些主要参数
1-s : 输入的序列文件,如果kmer出现次数只有一次的,会过滤掉
2-r : 输入的参考文件,所有kmer会用于构图
3-o : 输出文件
4-t :线程数
5-k :kmer的长度
6-c : 构建color的de bruijin graph
使用例子
01
使用build构建de bruijin graph
仅利用fastq来构建de bruijin graph
1Bifrost build -t 4 -k 31 -i -d -s A.fastq -s B.fastq -o AB_graph
仅使用reference geome来构建de bruijin graph
1Bifrost build -t 4 -k 31 -r C.fasta -o C_graph
利用fastq和reference genome一起来构建de bruijin graph
1Bifrost build -t 4 -k 31 -c -i -d -s A.fastq -s B.fastq -r C.fasta -o ABC
02
使用update更新de bruijin graph
用reference genome来更新de bruijin graph
1Bifrost update -t 4 -r D.fasta -g C_graph.gfa -o CD_graph
更新一个color graph
1Bifrost update -t 4 -i -d -s E.fastq -s F.fastq -g ABC.gfa -f ABC.bfg_colors -o ABCEF
03
使用Query来查询
普通查询
-e是指定相似度的意思,最终结果是序列是否在de bruijin的结果。1表示存在,0表示不存在
1Bifrost query -t 4 -e 0.8 -g ABCEF.gfa -q queries.fasta -o presence_queries
近似查询
使用-n 来进行不精确匹配。
1Bifrost query -t 4 -e 0.8 -n -g ABCEF.gfa -q queries.fasta -o presence_queries
对color graph进行查询
1Bifrost query -t 4 -e 0.8 -g ABCEF.gfa -f ABCEF.bfg_colors -q queries.fasta -o presence_queries
个人使用案例
构建两个fa: toy.fa 和toy2.fa
生成color graph
1~/.conda/envs/py37/bin/Bifrost build -t 8 -c -k 31 -r toy.fa -r toy2.fa -o toy_color
产生两个文件toy_color.bfg_colors和toy_color.gfa。
kmer的查询,准备一个tt.fa
1~/.conda/envs/py37/bin/Bifrost query -t 4 -e 0.8 -g toy_color.gfa -f toy_color.bfg_colors -q tt.fa -o query_color
最后结果为:
总结
这个工具可以很方便的用来构建de-bruijin图,然而,这个软件输出结果比较简单,只有0/1的结果。
不过这个软件提供了函数,可以嵌入到程序中,用于后续其他的应用,例如BlastFrost利用这个包来进行快速的比对,有兴趣的可以去看看吧。
参考资料
1. https://github.com/pmelsted/bifrost
2. Holley, G., Melsted, P. Bifrost: highly parallel construction and indexing of colored and compacted de Bruijn graphs. Genome Biol 21, 249 (2020). https://doi.org/10.1186/s13059-020-02135-8
3. https://github.com/nluhmann/BlastFrost
作者:童蒙
编辑:amethyst
往期回顾